package com.hq.controller;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.hq.bean.CateGoryInfo;
import com.hq.service.AmountByProvinceService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

@RestController
public class AmountByCategory {

    @Resource
    private AmountByProvinceService amountByProvinceService;


    //1:第一分类
    @RequestMapping("/cate1List")
    public Object cate1List(){
        List<CateGoryInfo> cateGoryInfos = amountByProvinceService.cate1List();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject jsonObject1 = new JSONObject();
        JSONArray jsonArray1 = new JSONArray();
        for (CateGoryInfo cateGoryInfo : cateGoryInfos) {
            jsonArray1.add(cateGoryInfo.getName());
        }
        JSONArray jsonArray2 = new JSONArray();
        // 第二个数组中的 对象
        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","品类名称");
        JSONArray jsonArray3 = new JSONArray();
        for (CateGoryInfo cateGoryInfo : cateGoryInfos) {
            jsonArray3.add(cateGoryInfo.getTotal());
        }
        jsonObject2.put("data",jsonArray3);
        jsonArray2.add(jsonObject2);
        jsonObject1.put("categories",jsonArray1);
        jsonObject1.put("series",jsonArray2);
        jsonObject.put("data",jsonObject1);


        return jsonObject;
    }
    //2:第二分类
    @RequestMapping("/cate2List")
    public Object cate2List(){
        List<CateGoryInfo> cateGoryInfos = amountByProvinceService.cate2List();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject jsonObject1 = new JSONObject();
        JSONArray jsonArray1 = new JSONArray();
        for (CateGoryInfo cateGoryInfo : cateGoryInfos) {
            jsonArray1.add(cateGoryInfo.getName());
        }
        JSONArray jsonArray2 = new JSONArray();
        // 第二个数组中的 对象
        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","品类名称");
        JSONArray jsonArray3 = new JSONArray();
        for (CateGoryInfo cateGoryInfo : cateGoryInfos) {
            jsonArray3.add(cateGoryInfo.getTotal());
        }
        jsonObject2.put("data",jsonArray3);
        jsonArray2.add(jsonObject2);
        jsonObject1.put("categories",jsonArray1);
        jsonObject1.put("series",jsonArray2);
        jsonObject.put("data",jsonObject1);


        return jsonObject;
    }
    //3:第三分类
    @RequestMapping("/cate3List")
    public Object cate3List(){
        List<CateGoryInfo> cateGoryInfos = amountByProvinceService.cate3List();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject jsonObject1 = new JSONObject();
        JSONArray jsonArray1 = new JSONArray();
        for (CateGoryInfo cateGoryInfo : cateGoryInfos) {
            jsonArray1.add(cateGoryInfo.getName());
        }
        JSONArray jsonArray2 = new JSONArray();
        // 第二个数组中的 对象
        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","品类名称");
        JSONArray jsonArray3 = new JSONArray();
        for (CateGoryInfo cateGoryInfo : cateGoryInfos) {
            jsonArray3.add(cateGoryInfo.getTotal());
        }
        jsonObject2.put("data",jsonArray3);
        jsonArray2.add(jsonObject2);
        jsonObject1.put("categories",jsonArray1);
        jsonObject1.put("series",jsonArray2);
        jsonObject.put("data",jsonObject1);


        return jsonObject;
    }


    // 总金额
    @RequestMapping("/total")
    public Object total(){
        Double total = amountByProvinceService.total();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        jsonObject.put("data",total);
        return jsonObject;

    }
}
/*
{
  "status": 0,
  "msg": "",
  "data": 1201090.8103842142
}
 */